package com.platform.entity;

import com.platform.validator.group.AddGroup;
import com.platform.validator.group.UpdateGroup;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import org.hibernate.validator.constraints.Email;
import org.hibernate.validator.constraints.NotBlank;

/**
 * 系统用户
 *
 * @author lipengjun
 * @email 939961241@qq.com
 * @date 2016年9月18日 上午9:28:55
 */
public class SysUserEntity implements Serializable {

  private static final long serialVersionUID = 1L;

  /**
   * 用户ID
   */
  private Long userId;

  /**
   * 用户名
   */
  @NotBlank(message = "用户名不能为空", groups = {AddGroup.class, UpdateGroup.class})
  private String username;

  /**
   * 密码
   */
  private transient String password;

  /**
   * 邮箱
   */
  @NotBlank(message = "邮箱不能为空", groups = {AddGroup.class, UpdateGroup.class})
  @Email(message = "邮箱格式不正确", groups = {AddGroup.class, UpdateGroup.class})
  private String email;

  /**
   * 手机号
   */
  private String mobile;

  /**
   * 状态  0：禁用   1：正常
   */
  private Integer status;

  /**
   * 角色ID列表
   */
  private List<Long> roleIdList;

  /**
   * 创建者ID
   */
  private Long createUserId;

  /**
   * 创建时间
   */
  private Date createTime;

  private Long deptId;
  //商户id
  private Long merchantId;
  //商户名称
  private String merchantName;
  /**
   * 部门名称
   */
  private String deptName;
  //一级分佣
  private double fx1;
  //二级分佣
  private double fx2;
  //本人分佣
  private double fx;
  //平台分佣
  private double pfx;
  //是否显示其他商户 0:不显示，1:显示
  private int allShow;

  public int getAllShow() {
    return allShow;
  }

  public void setAllShow(int allShow) {
    this.allShow = allShow;
  }

  public double getFx1() {
    return fx1;
  }

  public void setFx1(double fx1) {
    this.fx1 = fx1;
  }

  public double getFx2() {
    return fx2;
  }

  public void setFx2(double fx2) {
    this.fx2 = fx2;
  }

  public double getFx() {
    return fx;
  }

  public void setFx(double fx) {
    this.fx = fx;
  }

  public double getPfx() {
    return pfx;
  }

  public void setPfx(double pfx) {
    this.pfx = pfx;
  }

  /**
   * 设置：
   */
  public void setUserId(Long userId) {
    this.userId = userId;
  }

  /**
   * 获取：
   *
   * @return Long
   */
  public Long getUserId() {
    return userId;
  }

  /**
   * 设置：用户名
   *
   * @param username 用户名
   */
  public void setUsername(String username) {
    this.username = username;
  }

  /**
   * 获取：用户名
   *
   * @return String
   */
  public String getUsername() {
    return username;
  }

  /**
   * 设置：密码
   *
   * @param password 密码
   */
  public void setPassword(String password) {
    this.password = password;
  }

  /**
   * 获取：密码
   *
   * @return String
   */
  public String getPassword() {
    return password;
  }

  /**
   * 设置：邮箱
   *
   * @param email 邮箱
   */
  public void setEmail(String email) {
    this.email = email;
  }

  /**
   * 获取：邮箱
   *
   * @return String
   */
  public String getEmail() {
    return email;
  }

  /**
   * 设置：手机号
   *
   * @param mobile 手机号
   */
  public void setMobile(String mobile) {
    this.mobile = mobile;
  }

  /**
   * 获取：手机号
   *
   * @return String
   */
  public String getMobile() {
    return mobile;
  }

  /**
   * 设置：状态  0：禁用   1：正常
   *
   * @param status 状态  0：禁用   1：正常
   */
  public void setStatus(Integer status) {
    this.status = status;
  }

  /**
   * 获取：状态  0：禁用   1：正常
   *
   * @return Integer
   */
  public Integer getStatus() {
    return status;
  }

  /**
   * 设置：创建时间
   *
   * @param createTime 创建时间
   */
  public void setCreateTime(Date createTime) {
    this.createTime = createTime;
  }

  /**
   * 获取：创建时间
   *
   * @return Date
   */
  public Date getCreateTime() {
    return createTime;
  }

  public List<Long> getRoleIdList() {
    return roleIdList;
  }

  public void setRoleIdList(List<Long> roleIdList) {
    this.roleIdList = roleIdList;
  }

  public Long getCreateUserId() {
    return createUserId;
  }

  public void setCreateUserId(Long createUserId) {
    this.createUserId = createUserId;
  }

  public Long getDeptId() {
    return deptId;
  }

  public void setDeptId(Long deptId) {
    this.deptId = deptId;
  }

  public String getDeptName() {
    return deptName;
  }

  public void setDeptName(String deptName) {
    this.deptName = deptName;
  }

  public Long getMerchantId() {
    return merchantId;
  }

  public void setMerchantId(Long merchantId) {
    this.merchantId = merchantId;
  }

  public String getMerchantName() {
    return merchantName;
  }

  public void setMerchantName(String merchantName) {
    this.merchantName = merchantName;
  }
}
